home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / os2 / bltq127.zip / BULLET.BI < prev    next >
Text File  |  1995-01-05  |  8KB  |  252 lines

  1. '******* BULLET-1.2 *******
  2. '5-Jan-95: added OSversion to InitPack
  3.  
  4. DECLARE FUNCTION BULLET% (SEG packinfo AS ANY)
  5.  
  6. CONST InitXB = 0, ExitXB = 1, AtExitXB = 2
  7. CONST MemoryXB = 3, BreakXB = 4, BackupFileXB = 5, StatHandleXB = 6
  8. CONST GetExtErrorXB = 7
  9. CONST DVmonCXB = 9
  10.  
  11. CONST CreateDXB = 10, OpenDXB = 11, CloseDXB = 12, StatDXB = 13
  12. CONST ReadDHXB = 14, FlushDHXB = 15, CopyDHXB = 16, ZapDHXB = 17
  13.  
  14. CONST CreateKXB = 20, OpenKXB = 21, CloseKXB = 22, StatKXB = 23
  15. CONST ReadKHXB = 24, FlushKHXB = 25, CopyKHXB = 26, ZapKHXB = 27
  16.  
  17. CONST GetDescriptorXB = 30, GetRecordXB = 31
  18. CONST AddRecordXB = 32, UpdateRecordXB = 33
  19. CONST DeleteRecordXB = 34, UndeleteRecordXB = 35
  20. CONST PackRecordsXB = 36
  21.  
  22. CONST FirstKeyXB = 40, EqualKeyXB = 41, NextKeyXB = 42
  23. CONST PrevKeyXB = 43, LastKeyXB = 44, StoreKeyXB = 45, DeleteKeyXB = 46
  24. CONST BuildKeyXB = 47, CurrentKeyXB = 48
  25.  
  26. CONST GetFirstXB = 60, GetEqualXB = 61, GetNextXB = 62
  27. CONST GetPrevXB = 63, GetLastXB = 64, InsertXB = 65, UpdateXB = 66
  28. CONST ReindexXB = 67
  29.  
  30. CONST LockXB = 80, UnlockXB = 81
  31. CONST LockKeyXB = 82, UnlockKeyXB = 83, LockDataXB = 84, UnlockDataXB = 85
  32. CONST DriveRemoteXB = 86, FileRemoteXB = 87, SetRetriesXB = 88
  33.  
  34. CONST DeleteFileDOS = 100, RenameFileDOS = 101, CreateFileDOS = 102
  35. CONST OpenFileDOS = 103, SeekFileDOS = 104, ReadFileDOS = 105
  36. CONST WriteFileDOS = 106, CloseFileDOS = 107
  37. CONST AccessFileDOS = 108, ExpandFileDOS = 109, MakeDirDOS = 110
  38.  
  39. CONST cUNIQUE = 1, cCHAR = 2, cINTEGER = &H10, cLONG = &H20
  40. CONST cNLS= &H4000, cSIGNED = &H8000
  41.  
  42. CONST ReadOnly = 0, WriteOnly = 1, ReadWrite = 2
  43. CONST Compat = 0
  44. CONST DenyReadWrite = &H10, DenyWrite = &H20, DenyRead = &H30, DenyNone = &H40
  45. CONST NoInherit = &H80
  46.  
  47. TYPE AccessPack         'ACCESS TO/FROM KEY/DATA FILE
  48. Func AS INTEGER         'ALSO USED FOR LOCKING FILES AT THE BYTE LEVEL
  49. Stat AS INTEGER
  50. Handle AS INTEGER       'OS handle
  51. RecNo AS LONG           'long integer record number of key/data record
  52. RecPtrOff AS INTEGER    'far pointer to record storage buffer
  53. RecPtrSeg AS INTEGER
  54. KeyPtrOff AS INTEGER    'far pointer to search key buffer
  55. KeyPtrSeg AS INTEGER
  56. NextPtrOff AS INTEGER   'far pointer to next key access pack
  57. NextPtrSeg AS INTEGER
  58. END TYPE  '22
  59.  
  60. TYPE BreakPack
  61. Func AS INTEGER
  62. Stat AS INTEGER
  63. Mode AS INTEGER         '0=disable ctrl-C/Break,1=restore
  64. END TYPE '6
  65.  
  66. TYPE CopyPack
  67. Func AS INTEGER
  68. Stat AS INTEGER
  69. Handle AS INTEGER
  70. FilenamePtrOff AS INTEGER       'far pointer to filenameZ for copy
  71. FilenamePtrSeg AS INTEGER
  72. END TYPE '10
  73.  
  74. TYPE CreateDataPack
  75. Func AS INTEGER
  76. Stat AS INTEGER
  77. FilenamePtrOff AS INTEGER       'far pointer to filenameZ
  78. FilenamePtrSeg AS INTEGER
  79. NoFields AS INTEGER
  80. FieldListPtrOff AS INTEGER      'far pointer to field list
  81. FieldListPtrSeg AS INTEGER
  82. FileID AS INTEGER
  83. END TYPE '16
  84.  
  85. TYPE CreateKeyPack
  86. Func AS INTEGER
  87. Stat AS INTEGER
  88. FilenamePtrOff AS INTEGER       'far pointer to filenameZ
  89. FilenamePtrSeg AS INTEGER
  90. KeyExpPtrOff AS INTEGER         'far pointer to key expressionZ
  91. KeyExpPtrSeg AS INTEGER
  92. XBlink AS INTEGER
  93. KeyFlags AS INTEGER
  94. CodePageID AS INTEGER
  95. CountryCode AS INTEGER
  96. CollatePtrOff AS INTEGER        'far pointer to collate table or 0:0
  97. CollatePtrSeg AS INTEGER
  98. END TYPE '24
  99.  
  100. TYPE FieldDescTYPE      'INTERNAL USE--used by DescriptorPack
  101. FieldName AS STRING * 11  '(needs to be before DescriptorPack)
  102. FieldType AS STRING * 1
  103. FieldDA AS LONG         'unused (all unused fields are reserved)
  104. FieldLength AS STRING * 1
  105. FieldDC AS STRING * 1
  106. A1 AS INTEGER           'unused
  107. A2 AS INTEGER           'unused
  108. filler AS STRING * 10   'unused
  109. END TYPE '32
  110.  
  111. TYPE DescriptorPack
  112. Func AS INTEGER
  113. Stat AS INTEGER
  114. Handle AS INTEGER
  115. FieldNumber AS INTEGER  'field number to get info on, or if 0 then
  116. FD AS FieldDescTYPE     'search for FD.FieldName
  117. END TYPE '40
  118.  
  119. TYPE DOSFilePack
  120. Func AS INTEGER
  121. Stat AS INTEGER
  122. FilenamePtrOff AS INTEGER       'far pointer to filenameZ
  123. FilenamePtrSeg AS INTEGER
  124. Handle AS INTEGER
  125. ASmode AS INTEGER
  126. Bytes AS INTEGER
  127. SeekOffset AS LONG              'also bytes to expand file by
  128. Method AS INTEGER
  129. BufferPtrOff AS INTEGER         'far pointer to read/write buffer
  130. BufferPtrSeg AS INTEGER
  131. Attr AS INTEGER
  132. NewNamePtrOff AS INTEGER        'far pointer to new filenameZ for rename
  133. NewNamePtrSeg AS INTEGER
  134. END TYPE '30
  135.  
  136. TYPE DVmonPack          'DEBUG ENGINE ONLY
  137. Func AS INTEGER
  138. Stat AS INTEGER
  139. Mode AS INTEGER         '0=off,1=on,2=put up base screen only
  140. Handle AS INTEGER       'handle to monitor
  141. VS AS INTEGER           'video buffer segment (4000 bytes at least)
  142. END TYPE '10
  143.  
  144. TYPE ExitPack
  145. Func AS INTEGER
  146. Stat AS INTEGER
  147. END TYPE '4
  148.  
  149. TYPE HandlePack
  150. Func AS INTEGER
  151. Stat AS INTEGER
  152. Handle AS INTEGER
  153. END TYPE '6
  154.  
  155. TYPE InitPack
  156. Func AS INTEGER
  157. Stat AS INTEGER
  158. JFTmode AS INTEGER
  159. DOSver AS INTEGER
  160. Version AS INTEGER
  161. OSversion AS INTEGER
  162. ExitPtrOff AS INTEGER      'far pointer to ExitXB routine
  163. ExitPtrSeg AS INTEGER
  164. END TYPE '14
  165.  
  166. TYPE MemoryPack
  167. Func AS INTEGER
  168. Stat AS INTEGER
  169. Memory AS LONG          'largest free block of memory
  170. END TYPE '8
  171.  
  172. TYPE OpenPack
  173. Func AS INTEGER
  174. Stat AS INTEGER
  175. Handle AS INTEGER               'returned OS handle of file opened
  176. FilenamePtrOff AS INTEGER       'far pointer to filenameZ
  177. FilenamePtrSeg AS INTEGER
  178. ASmode AS INTEGER               'access-sharing mode
  179. xbHandle AS INTEGER     'if opening key file this is its related xb handle
  180. END TYPE '14
  181.  
  182. TYPE RemotePack
  183. Func AS INTEGER
  184. Stat AS INTEGER
  185. Handle AS INTEGER       'handle/drive depending on routine
  186. IsRemote AS INTEGER     '0=local,1=remote
  187. Flags AS INTEGER        'DX register as returned by DOS
  188. IsShare AS INTEGER      '0=SHARE.EXE not loaded
  189. END TYPE '12
  190.  
  191. TYPE SetRetriesPack
  192. Func AS INTEGER
  193. Stat AS INTEGER
  194. Mode AS INTEGER         '0=set DOS default else use Pauses/Retries below
  195. Pause AS INTEGER        '0-65535 loop counter between retries
  196. Retries As INTEGER      '0-65535 retries to access locked file
  197. END TYPE '10
  198.  
  199. TYPE StatDataPack
  200. Func AS INTEGER
  201. Stat AS INTEGER
  202. Handle AS INTEGER       'XB data file
  203. FileType AS STRING * 1  '1=XB data
  204. Dirty AS STRING * 1     '0=not changed
  205. Recs AS LONG            'records
  206. RecLen AS INTEGER       'record length
  207. Fields AS INTEGER       'fields per record ()
  208. f1 AS STRING * 1        'reserved (1=update DVmon)
  209. LUyear AS STRING * 1    'binary, year file last updated
  210. LUmonth AS STRING * 1   'month
  211. LUday AS STRING * 1     'day
  212. HereSeg AS INTEGER      'this file's control segment
  213. filler AS STRING * 10
  214. END TYPE '32
  215.  
  216. TYPE StatKeyPack
  217. Func AS INTEGER
  218. Stat AS INTEGER
  219. Handle AS INTEGER       'key file
  220. FileType AS STRING * 1  '0=key
  221. Dirty AS STRING * 1     '0=not changed
  222. Keys AS LONG            'keys
  223. KeyLen AS INTEGER       'key length
  224. XBlink AS INTEGER       'XB data file link
  225. XBrecno AS LONG         'record number of current key
  226. HereSeg AS INTEGER      'this file's control segment
  227. CodePageID AS INTEGER
  228. CountryCode AS INTEGER
  229. CollateTableSize AS INTEGER
  230. KeyFlags AS INTEGER
  231. filler AS STRING * 2
  232. END TYPE '32
  233.  
  234. TYPE StatHandlePack             'SHP
  235. Func AS INTEGER
  236. Stat AS INTEGER
  237. Handle AS INTEGER               'OS handle to gather stats on
  238. ID AS INTEGER                   'ID 0=key file,1=DBF data, -1 not BULLET
  239. FilenamePtrOff AS INTEGER       'far pointer to filenameZ of handle
  240. FilenamePtrSeg AS INTEGER
  241. END TYPE '12
  242.  
  243. TYPE XErrorPack                 'XEP
  244. Func AS INTEGER
  245. Stat AS INTEGER                 'extended error
  246. Class AS INTEGER                'error class
  247. Action AS INTEGER               'suggested action
  248. Location AS INTEGER             'error location
  249. END TYPE '10
  250.  
  251. '<End of BULLET.BI>
  252.